
#include"SList.h"

void test01()
{
	SLT* phead = NULL;
	//测试尾插
	SLTPushBack(&phead,1);
	SLTPushBack(&phead,2);
	SLTPushBack(&phead,3);
	SLTPushBack(&phead,4);
	SLTPrint(phead);
/*
	//测试头插
	SLTPushFront(&phead,5);
	SLTPrint(phead);
	SLTPushFront(&phead,6);
	SLTPrint(phead);
	SLTPushFront(&phead,7);
	SLTPrint(phead);
	SLTPushFront(&phead,8);
	SLTPrint(phead);
	SLTPushFront(&phead,9);
	SLTPrint(phead);
*/

/*
 	//测试头删
	SLTPopBack(&phead);
	SLTPrint(phead);
	SLTPopBack(&phead);
	SLTPrint(phead);
	SLTPopBack(&phead);
	SLTPrint(phead);
	SLTPopBack(&phead);
	SLTPrint(phead);
*/

/*
	//测试尾删
	SLTPopFront(&phead);
	SLTPrint(phead);
	SLTPopFront(&phead);
	SLTPrint(phead);
	SLTPopFront(&phead);
	SLTPrint(phead);
	SLTPopFront(&phead);
	SLTPrint(phead);
*/

/*	
	//测试查找
	SLT* ret = NULL;
	int i = 1;
	while(i<=8)
	{
		if(ret = SLTFind(phead,i++))
			printf("找到了，值为%d\n",ret->date);
		else
			printf("很遗憾，未找到\n");
	}
*/

/*
	//测试插入pos之前
	SLT* ret = NULL;
	if(ret = SLTFind(phead,1))
	{
		SLTInsert(&phead,ret,1314);
		SLTPrint(phead);
	}
	if(ret = SLTFind(phead,4))
	{
		SLTInsert(&phead,ret,4314);
		SLTPrint(phead);
	}
	if(ret = SLTFind(phead,3))
	{
		SLTInsert(&phead,ret,3314);
		SLTPrint(phead);
	}
*/

/*
	//测试插入pos之后
	SLT* ret = NULL;
	if(ret = SLTFind(phead,1))
	{
		SLTInsertAfter(ret,1314);
		SLTPrint(phead);
	}
	if(ret = SLTFind(phead,4))
	{
		SLTInsertAfter(ret,4314);
		SLTPrint(phead);
	}
	if(ret = SLTFind(phead,3))
	{
		SLTInsertAfter(ret,3314);
		SLTPrint(phead);
	}
*/

/*
	//测试删除操作
	SLT* ret = NULL;
	if(ret = SLTFind(phead,1))
	{
		SLTEmbrase(&phead,ret);
		SLTPrint(phead);
	}
	if(ret = SLTFind(phead,4))
	{
		SLTEmbrase(&phead,ret);
		SLTPrint(phead);
	}
	if(ret = SLTFind(phead,3))
	{
		SLTEmbrase(&phead,ret);
		SLTPrint(phead);
	}
*/
	
	//测试删除操作
	SLT* ret = NULL;
	if(ret = SLTFind(phead,1))
	{
		SLTEmbraseAfter(ret);
		SLTPrint(phead);
	}
	if(ret = SLTFind(phead,4))
	{
		SLTEmbraseAfter(ret);
		SLTPrint(phead);
	}
	//测试修改操作
	if(ret = SLTFind(phead,3))
	{
		SLTModify(ret,333);
		SLTPrint(phead);
	}
	//测试链表销毁
	SLTDestory(&phead);
	if(!phead)
		printf("销毁成功\n");

}

int main()
{
	test01();
	return 0;
}
